package com.zeny.express.framework.log.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * ANNOTATION方式记录业务日志，定义在Spring Service类中
 * 
 * <pre>
 * businessCode : 业务编码，与BusinessInfoEntity中配置关联
 * businessId :   业务ID，可以记录流水号在业务实体和日志实体中，用于双向关联
 * 
 * 以下参数是spring spel表达式，记录业务相关数据，可以是单实体也可以是集合
 * entityId   : 定义业务实体中的ID
 * entityCode : 定义业务实体中的CODE
 * entityName : 定义业务实体中的NAME
 * </pre>
 * 
 * @author zhuwei
 * @date 2013年10月15日 下午1:09:51
 */
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface LogBusiness {

	String businessCode();

	String businessId() default "";

	String entityId() default "";

	String entityCode() default "";

	String entityName() default "";

}
